package com.marvels.loanapply.dto;

import java.math.BigDecimal;
import java.util.Date;

import com.marvels.common.dto.BaseDTO;

/**
 * 融资账户信息DTO
 * @author zhaosa
 *
 */
public class CollectAccountDTO extends BaseDTO {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6226970384136405162L;
	
	/**
	 * 客户编码
	 */
	private String customerId;
	/**
	 * 状态
	 */
	private Integer status;
	/**
	 * 已还本金
	 */
	private BigDecimal principal= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还利息
	 */
	private BigDecimal interest= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还咨询费
	 */
	private BigDecimal consultingFee= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还管理费
	 */
	private BigDecimal managementFee= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还违约金
	 */
	private BigDecimal penaltyFee= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还滞纳金
	 */
	private BigDecimal lateFee= BigDecimal.ZERO.setScale(2);
	/**
	 * 已还费用
	 */
	private BigDecimal fee = BigDecimal.ZERO.setScale(2);
	/**
	 * 未还本金
	 */
	private BigDecimal principalOs= BigDecimal.ZERO.setScale(2);
	/**
	 * 未还利息
	 */
	private BigDecimal interestOs= BigDecimal.ZERO.setScale(2);
	/**
	 * 未还咨询费
	 */
	private BigDecimal consultingFeeOs= BigDecimal.ZERO.setScale(2);
	/**
	 * 未还管理费
	 */
	private BigDecimal managementFeeOs= BigDecimal.ZERO.setScale(2);
	/**
	 * 未还违约金
	 */
	private BigDecimal penaltyFeeOs= BigDecimal.ZERO.setScale(2);
	/**
	 * 未还滞纳金
	 */
	private BigDecimal lateFeeOs= BigDecimal.ZERO.setScale(2);
	
	/**
	 * 合同ID
	 */
	private String loanId;
	/**
	 * 当前期数
	 */
	private Integer curTermNo;
	/**
	 * 贷款期数
	 */
	private Integer term;
	/**
	 * 贷款金额
	 */
	private BigDecimal loanAmt = BigDecimal.ZERO.setScale(2);
	/**
	 * 贷款日期
	 */
	private Date loanDate;
	/**
	 * 产品名称
	 */
	private String productName;
	/**
	 * 产品编码
	 */
	private String productCode;
	/**
	 * 延滞天数
	 */
	private Integer delqDays;
	/**
	 * 年利率
	 */
	private BigDecimal rate = BigDecimal.ZERO.setScale(2);
	/**
	 * 起始日期
	 */
	private Date startDate;
	/**
	 * 结束日期
	 */
	private Date endDate;
	
	public String getCustomerId() {
		return customerId;
	}
	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public BigDecimal getPrincipal() {
		return principal;
	}
	public void setPrincipal(BigDecimal principal) {
		this.principal = principal;
	}
	public BigDecimal getInterest() {
		return interest;
	}
	public void setInterest(BigDecimal interest) {
		this.interest = interest;
	}
	public BigDecimal getConsultingFee() {
		return consultingFee;
	}
	public void setConsultingFee(BigDecimal consultingFee) {
		this.consultingFee = consultingFee;
	}
	public BigDecimal getManagementFee() {
		return managementFee;
	}
	public void setManagementFee(BigDecimal managementFee) {
		this.managementFee = managementFee;
	}
	public BigDecimal getPenaltyFee() {
		return penaltyFee;
	}
	public void setPenaltyFee(BigDecimal penaltyFee) {
		this.penaltyFee = penaltyFee;
	}
	public BigDecimal getLateFee() {
		return lateFee;
	}
	public void setLateFee(BigDecimal lateFee) {
		this.lateFee = lateFee;
	}
	public BigDecimal getPrincipalOs() {
		return principalOs;
	}
	public void setPrincipalOs(BigDecimal principalOs) {
		this.principalOs = principalOs;
	}
	public BigDecimal getInterestOs() {
		return interestOs;
	}
	public void setInterestOs(BigDecimal interestOs) {
		this.interestOs = interestOs;
	}
	public BigDecimal getConsultingFeeOs() {
		return consultingFeeOs;
	}
	public void setConsultingFeeOs(BigDecimal consultingFeeOs) {
		this.consultingFeeOs = consultingFeeOs;
	}
	public BigDecimal getManagementFeeOs() {
		return managementFeeOs;
	}
	public void setManagementFeeOs(BigDecimal managementFeeOs) {
		this.managementFeeOs = managementFeeOs;
	}
	public BigDecimal getPenaltyFeeOs() {
		return penaltyFeeOs;
	}
	public void setPenaltyFeeOs(BigDecimal penaltyFeeOs) {
		this.penaltyFeeOs = penaltyFeeOs;
	}
	public BigDecimal getLateFeeOs() {
		return lateFeeOs;
	}
	public void setLateFeeOs(BigDecimal lateFeeOs) {
		this.lateFeeOs = lateFeeOs;
	}
	public String getLoanId() {
		return loanId;
	}
	public void setLoanId(String loanId) {
		this.loanId = loanId;
	}
	public Integer getCurTermNo() {
		return curTermNo;
	}
	public void setCurTermNo(Integer curTermNo) {
		this.curTermNo = curTermNo;
	}
	public BigDecimal getFee() {
		return fee;
	}
	public void setFee(BigDecimal fee) {
		this.fee = fee;
	}
	
	public Integer getTerm() {
		return term;
	}
	public void setTerm(Integer term) {
		this.term = term;
	}
	public BigDecimal getLoanAmt() {
		return loanAmt;
	}
	public void setLoanAmt(BigDecimal loanAmt) {
		this.loanAmt = loanAmt;
	}
	public Date getLoanDate() {
		return loanDate;
	}
	public void setLoanDate(Date loanDate) {
		this.loanDate = loanDate;
	}
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	
	public Integer getDelqDays() {
		return delqDays;
	}
	public void setDelqDays(Integer delqDays) {
		this.delqDays = delqDays;
	}
	public BigDecimal getRate() {
		return rate;
	}
	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}
	public Date getStartDate() {
		return startDate;
	}
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	
	public String getProductCode() {
		return productCode;
	}
	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}
	@Override
	public String toString() {
		return "CollectAccountDTO [customerId=" + customerId + ", status=" + status + ", principal=" + principal
				+ ", interest=" + interest + ", consultingFee=" + consultingFee + ", managementFee=" + managementFee
				+ ", penaltyFee=" + penaltyFee + ", lateFee=" + lateFee + ", fee=" + fee + ", principalOs="
				+ principalOs + ", interestOs=" + interestOs + ", consultingFeeOs=" + consultingFeeOs
				+ ", managementFeeOs=" + managementFeeOs + ", penaltyFeeOs=" + penaltyFeeOs + ", lateFeeOs=" + lateFeeOs
				+ ", loanId=" + loanId + ", curTermNo=" + curTermNo + ", term=" + term + ", loanAmt=" + loanAmt
				+ ", loanDate=" + loanDate + ", productName=" + productName + ", productCode=" + productCode
				+ ", delqDays=" + delqDays + ", rate=" + rate + ", startDate=" + startDate + ", endDate=" + endDate
				+ "]";
	}
	
	
}
